home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Inventor Labs: Technology
/
INVENTORLABS_TECHNOLOGY.BIN
/
pc
/
files
/
watt.dir
/
00269_Script_Watt BIY obj
< prev
next >
Wrap
Text File
|
1997-07-24
|
16KB
|
468 lines
--o Watt BIY obj
--Instantiated as gWattBIYobj
property pCurrentCondensor, pCurrentCylinder, pQTplaying
property pPlaceHolderCastNum, pPuppetSpriteList
property pQTsprite, pEngineQTlocH, pEngineQTlocV, pCoalQTlocH, pCoalQTlocV
property pCoalQTcast, pEngineQTBaseCast
property pCondensorSprite, pCondensorInUseSprite, pCondenseHSstartSprite
property pCondensorLocH, pCondensorLocV, pCondensorInUseLocH, pCondensorInUseLocV
property pCondensorIUBaseCastNum, pCondensorBaseCastNum
property pCylinderSprite, pCylinderInUseSprite, pCylinderHSstartSprite
property pCylinderInUseLocH, pCylinderInUseLocV, pCylinderLocH, pCylinderLocV
property pCylinderInUseBaseCast, pCylinderBaseCast
property pStokeHSsprite, pTestStage, pDisplayingQT
property pFeedbackAIFfileList, pIntroSndFileName, pResultsArray
property pAttemptCounter, pVictoryQTbaseCast, pVictoryQTlocH, pVictoryQTlocV
property pQTsizeAdjusterDataList, pEngineQTlocH2, pEngineQTlocV2
property pTestRecord, pCorrectX, pCorrectY --JOURNAL
property pCursorPropList, pCursorList
property pCondensorSndCastNum, pCylinderSndCastNum
property pWBYSlabels
property pRolloverStartsprite
property pRolloverEndSprite
global gJournalObj, gScoreEventObj, gUtilityObj, gSndPath, gActiveAmbSnd --JOURNAL
-------------------------------------------------------<<ò>>
on mInit me
cursor 4
set pIntroSndFileName = "WEEINTR.AIF"
sound playfile 2, gSndPath & pIntroSndFileName
updatestage
set pPuppetSpriteList = []
set pPlaceHolderCastNum = the number of cast "Watt BIY placeHolder"
set pFeedbackAIFfileList = ["WEEHNT1.AIF", "WEEHNT2.AIF", "WEEHNT3.AIF", "WEEHNT4.AIF", "WEEHNT5.AIF"]
set pAttemptCounter = 0
set pResultsArray = []
append pResultsArray,[2,4,1,3,1,1]
append pResultsArray,[2,4,5,3,1,1]
append pResultsArray,[2,3,4,3,#Win,4]
set pCorrectX = 3
set pCorrectY = 5
set pQTsizeAdjusterDataList = [1,1,1,1,1,1,2,2,2,1,1,1,2,2,2,2,2,2]
set pTestRecord = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] --JOURNAL
set pQTsprite = 6
add pPuppetSpriteList, pQTsprite
set pEngineQTlocH = 238
set pEngineQTlocV = 250
set pEngineQTlocH2 = 238
set pEngineQTlocV2 = 247
set pEngineQTBaseCast = the number of cast "WEECYL1A.MOV"
set pCoalQTlocH = 364
set pCoalQTlocV = 368
set pCoalQTcast = the number of cast "WEECOAL.MOV"
set pVictoryQTlocH = 354
set pVictoryQTlocV = 290
set pVictoryQTbaseCast = the number of cast "WEEVID1.MOV"
set pCylinderSprite = 4
add pPuppetSpriteList, pCylinderSprite
set pCylinderLocH = 173
set pCylinderLocV = 348
set pCylinderBaseCast = the number of cast "WEECYLN1.PIC"
set pCylinderInUseSprite = 3
add pPuppetSpriteList, pCylinderInUseSprite
set pCylinderInUseLocH = 256
set pCylinderInUseLocV = 152
set pCylinderInUseBaseCast = the number of cast "WEECYL1.PIC"
set pCondensorSprite = 5
add pPuppetSpriteList, pCondensorSprite
set pCondensorLocH = 95
set pCondensorLocV = 344
set pCondensorBaseCastNum = the number of cast "WEECNDN1.PIC"
set pCondensorInUseSprite = 7
add pPuppetSpriteList, pCondensorInUseSprite
set pCondensorInUseLocH = 142
set pCondensorInUseLocV = 203
set pCondensorIUBaseCastNum = the number of cast "WEECOND1.PIC"
set pCondenseHSstartSprite = 8
add pPuppetSpriteList, pCondenseHSstartSprite
add pPuppetSpriteList, pCondenseHSstartSprite + 1
add pPuppetSpriteList, pCondenseHSstartSprite + 2
set pCylinderHSstartSprite = 11
repeat with CurrentSprite = pCylinderHSstartSprite to pCylinderHSstartSprite + 5
add pPuppetSpriteList, CurrentSprite
end repeat
set pStokeHSsprite = 17
add pPuppetSpriteList, pStokeHSsprite
--SOUNDS
set pCondensorSndCastNum = the number of cast "WEECOND.AIFF"
set pCylinderSndCastNum = the number of cast "WEECYL.AIFF"
--CURSORS
set pCursorList = []
repeat with SpritetoAdd = pCondenseHSstartSprite to pCondenseHSstartSprite + 2
add (pCursorList, SpritetoAdd)
end repeat
repeat with SpriteToAdd = pCylinderHSstartSprite to pCylinderHSstartSprite + 5
add (pCursorList, SpritetoAdd)
end repeat
add (pCursorList, pStokeHSsprite)
set pCursorPropList = [:]
repeat with CurrentCursor in pCursorList
addProp (pCursorPropList, CurrentCursor, #Operate)
end repeat
setprop( pCursorPropList, pStokeHSsprite,#shovel)
set pWBYSlabels = the text of cast "WBYSlabels"
set pRolloverStartsprite = 8
set pRolloverEndSprite = 17
set gActiveAmbSnd = 0
return me
end mInit
-------------------------------------------------------<<ò>>
on mActivate me
set pCurrentCondensor = 0 --0 to 3 (0 is none selected)
set pCurrentCylinder = 0 --0 to 6 (0 is none selected)
set pQTplaying = false
set pDisplayingQT = false
set pTestStage = 0
mSetCursors(gUtilityObj, pCursorPropList)
repeat with whichSprite in pPuppetSpriteList
puppetSprite whichSprite, true
end repeat
mInformJournal(gJournalObj, #ArrivingAtBIY) --JOURNAL
mSetToolBtns (gInterfaceMgrObj, #WBYS, me)
cursor - 1
end mActivate
-------------------------------------------------------<<ò>>
-------------------------------------------------------------------------------------------------------------------
-- dont pay attetion to lingering highlights ... just functionality
-------------------------------------------------------------------------------------------------------------------
on mOperate me, whatSelection
if WhatSelection = 1 then
--PREVIOUS CONDENSOR
if pCurrentCondensor < 2 then set NewCondensor = 3
else set NewCondensor = pCurrentCondensor - 1
set SimulatedClickNum = NewCondensor + pCondenseHSstartSprite - 1
mCondensorClick(me, SimulatedClickNum)
else if WhatSelection = 2 then
--PREVIOUS CYLINDER
if pCurrentCylinder < 2 then set NewCylinder = 6
else set NewCylinder = pCurrentCylinder - 1
set SimulatedClickNum = NewCylinder + pCylinderHSstartSprite - 1
mCylinderClick(me, SimulatedClickNum)
else if WhatSelection = 3 then
--NEXT CONDENSOR
if pCurrentCondensor > 2 then set NewCondensor = 1
else set NewCondensor = pCurrentCondensor + 1
set SimulatedClickNum = NewCondensor + pCondenseHSstartSprite - 1
mCondensorClick(me, SimulatedClickNum)
else if WhatSelection = 4 then
--NEXT CYLINDER
if pCurrentCylinder > 5 then set NewCylinder = 1
else set NewCylinder = pCurrentCylinder + 1
set SimulatedClickNum = NewCylinder + pCylinderHSstartSprite - 1
mCylinderClick(me, SimulatedClickNum)
else if WhatSelection = 5 then
--STOKE BOILER
mEngineStage1(me)
end if
mClearToolHilite ( gInterfaceMgrObj )
end mOperate
----------------------------------------------------------------------------------------------------
on mClose me
mUnsetCursorList(gUtilityObj, pCursorList)
repeat with whichSprite in pPuppetSpriteList
puppetSprite whichSprite, false
end repeat
if soundBusy(2) then sound stop 2
mInformJournal(gJournalObj, #LeavingBIY) --JOURNAL
end mClose
-------------------------------------------------------<<ò>>
on mBIYclickEvent me
if soundBusy(2) then sound stop 2
if not pQTplaying then -- <-- lock out all click events while QT playing
if pDisplayingQT then mHideQT(me)
set HSclicked = the clickon
if (HSclicked > pCondenseHSstartSprite - 1) and (HSclicked < pCondenseHSstartSprite + 3) then
mCondensorClick(me, HSclicked)
else if (HSclicked > pCylinderHSstartSprite - 1) and (HSclicked < pCylinderHSstartSprite + 6) then
mCylinderClick(me, HSclicked)
else if HSclicked = pStokeHSsprite then
mEngineStage1(me)
end if
end if
end mBIYclickEvent
-------------------------------------------------------<<ò>>
on mCondensorClick me, argHSclicked
set ClickIndex = argHSclicked - pCondenseHSstartSprite
if pCurrentCondensor <> ClickIndex + 1 then puppetSound 2, pCondensorSndCastNum
set the castNum of sprite pCondensorInUseSprite = pCondensorIUBaseCastNum + ClickIndex
set the locH of sprite pCondensorInUseSprite = pCondensorInUseLocH
set the locV of sprite pCondensorInUseSprite = pCondensorInUseLocV
set the castNum of sprite pCondensorSprite = pCondensorBaseCastNum + ClickIndex
set the locH of sprite pCondensorSprite = pCondensorLocH
set the locV of sprite pCondensorSprite = pCondensorLocV
set pCurrentCondensor = ClickIndex + 1
updateStage
end mCondensorClick
-------------------------------------------------------<<ò>>
on mCylinderClick me, argHSclicked
set ClickIndex = argHSclicked - pCylinderHSstartSprite
if pCurrentCylinder <> ClickIndex + 1 then puppetSound 2, pCylinderSndCastNum
set the castNum of sprite pCylinderInUseSprite = pCylinderInUseBaseCast + ClickIndex
set the locH of sprite pCylinderInUseSprite = pCylinderInUseLocH
set the locV of sprite pCylinderInUseSprite = pCylinderInUseLocV
set the castNum of sprite pCylinderSprite = pCylinderBaseCast + ClickIndex
set the locH of sprite pCylinderSprite = pCylinderLocH
set the locV of sprite pCylinderSprite = pCylinderLocV
set pCurrentCylinder = ClickIndex + 1
updateStage
end mCylinderClick
-------------------------------------------------------<<ò>>
on mHideQT me
if pDisplayingQT then
set the visible of sprite pQTsprite = 0
set pQTplaying = false
set pDisplayingQT = false
set the castNum of sprite pQTsprite = pPlaceHolderCastNum
set the locH of sprite pQTsprite = -300
set the visible of sprite pQTsprite = 1
updateStage
end if
end mHideQT
-------------------------------------------------------<<ò>>
on mEngineStage1 me --Initiate Stage 1
if pCurrentCondensor <> 0 and pCurrentCylinder <> 0 then
sound stop 1
set pAttemptCounter = pAttemptCounter + 1
set pQTplaying = true
set pDisplayingQT = true
set pTestStage = 1
set the castNum of sprite pQTsprite = pCoalQTcast
set the locH of sprite pQTsprite = pCoalQTlocH
set the locV of sprite pQTsprite = pCoalQTlocV
updateStage
set the movierate of sprite pQTsprite = 1
end if
end mEngineStage1
-------------------------------------------------------<<ò>>
on mEngineStage2 me --Initiate Stage 2
mRedraw me
set pTestStage = 2
set EngineIndex = ((pCurrentCylinder - 1) * 3 + pCurrentCondensor) - 1
setAt(pTestRecord, (EngineIndex + 1), 1) --JOURNAL
set QTadjusterType = getAt(pQTsizeAdjusterDataList, (EngineIndex + 1))
set the castNum of sprite pQTsprite = pEngineQTBaseCast + EngineIndex
if QTadjusterType = 1 then
set the locH of sprite pQTsprite = pEngineQTlocH
set the locV of sprite pQTsprite = pEngineQTlocV
else if QTadjusterType = 2 then
set the locH of sprite pQTsprite = pEngineQTlocH2
set the locV of sprite pQTsprite = pEngineQTlocV2
end if
sound stop 1
updateStage
set the movierate of sprite pQTsprite = 1
end mEngineStage2
-------------------------------------------------------<<ò>>
on mEngineStage3 me --Initiate Stage 3
set ExpResult = getAt(getAt(pResultsArray, pCurrentCondensor), pCurrentCylinder)
if ExpResult = #Win then
set pTestStage = 3
if pAttemptCounter < 7 then
set VictoryQTindex = 0
else if (pAttemptCounter > 6) and (pAttemptCounter < 14) then
set VictoryQTindex = 1
else if (pAttemptCounter > 13) then
set VictoryQTindex = 2
end if
set pAttemptCounter = 0 --Design Issue: Where does this go?
set the visible of sprite pQTsprite = 0
set the castNum of sprite pQTsprite = pVictoryQTbaseCast + VictoryQTindex
set the locH of sprite pQTsprite = pVictoryQTlocH
set the locV of sprite pQTsprite = pVictoryQTlocV
set the visible of sprite pQTsprite = 1
else
set pTestStage = 0
set pQTplaying = false
set SndToPlay = getAt(pFeedbackAIFfileList, ExpResult)
sound playfile 2, gSndPath & SndToPlay
end if
end mEngineStage3
-------------------------------------------------------<<ò>>
on mRedraw me
set the locv of sprite pQTsprite = -1000
set the visible of sprite 24 = False
updatestage
set the visible of sprite 24 = True
end mRedraw
-------------------------------------------------------<<ò>>
on mEngineStage4 me
set pTestStage = 0
set pQTplaying = false
mHideQT(me)
end mEngineStage4
-------------------------------------------------------<<ò>>
on mPerform me
if pQTplaying then
if (the movieRate of sprite pQTsprite = 0) then
set gActiveAmbSnd = 0
if pTestStage = 1 then mEngineStage2(me)
else if pTestStage = 2 then mEngineStage3(me)
else if pTestStage = 3 then mEngineStage4(me)
end if
else
set spritetoCheck = pRolloverStartsprite
set found = FALSE
repeat while (not found) and (spritetoCheck <= pRolloverEndSprite)
if rollover(spritetoCheck) then
set labelText = line (spritetoCheck - pRolloverStartsprite + 1) of pWBYSlabels
mSetLabelText( gUtilityObj, labelText)
set found = TRUE
end if
set spritetoCheck = spritetoCheck + 1
end repeat
end if
go the frame
end mPerform
-------------------------------------------------------<<ò>>
on mPullOutClickEvent me
if mDiscloseJournalActive (gJournalObj) = true then
mClose(gJournalObj)
else
mclose( me )
mStopMovGoFrameAndPullOut( gScoreEventObj, 6,"Engine PO" )
end if
end mPullOutClickEvent
-------------------------------------------------------<<ò>>
--THE FOLLOWING METHODS ARE USED RELATE TO THE JOURNAL OBJECT
-------------------------------------------------------<<ò>>
on mDiscloseTestRecord me
return(pTestRecord)
end mDiscloseTestRecord
-------------------------------------------------------<<ò>>
on mDiscloseCorrectX me
return(pCorrectX)
end mDiscloseCorrectX
-------------------------------------------------------<<ò>>
on mDiscloseCorrectY me
return(pCorrectY)
end mDiscloseCorrectY
-------------------------------------------------------<<ò>>
on mSwitchToJournal me
mHideQT(me)
set the castnum of sprite 6 = 0
updatestage
set pTestStage = 0
repeat with whichSprite in pPuppetSpriteList
set the castnum of sprite whichSprite = 0
puppetSprite whichSprite, false
end repeat
updateStage
if soundBusy(2) then sound stop 2
mUnsetCursorList(gUtilityObj, pCursorList)
end mSwitchToJournal
-------------------------------------------------------<<ò>>
on mSwitchToBIY me
set pCurrentCondensor = 0 --0 to 3
set pCurrentCylinder = 0 --0 to 6
set pQTplaying = false
set pDisplayingQT = false
set pTestStage = 0
sort(pPuppetSpriteList)
repeat with whichSprite in pPuppetSpriteList
puppetSprite whichSprite, true
end repeat
go the frame
mSetCursors(gUtilityObj, pCursorPropList)
end mSwitchToBIY
-------------------------------------------------------<<ò>>
on mReviewExperiment me, argRowClicked, argCollumClicked
updateStage
set pCurrentCondensor = argCollumClicked
set CondensorHotSpotEquivelent = pCondenseHSstartSprite + pCurrentCondensor - 1
mCondensorClick(me, CondensorHotSpotEquivelent)
set pCurrentCylinder = argRowClicked
set CylinderHotSpotEquivelent = pCylinderHSstartSprite + pCurrentCylinder - 1
mCylinderClick(me, CylinderHotSpotEquivelent)
mEngineStage1(me)
end mReviewExperiment
-------------------------------------------------------<<ò>>